Intraoral scanner that compensates for optical inaccuracies

ABSTRACT

A non-transitory medium includes instructions for generating a three-dimensional virtual model of an intraoral object by receiving surface scan data of the intraoral object while changing a position of at least one lens of focusing optics of an intraoral scanner, wherein the surface scan data comprises data for a plurality of points of the intraoral object, and adjusting the data for one or more of the plurality of points to compensate for one or more inaccuracies associated with at least one of a) different temperatures or b) different positions of the at least one lens. A three-dimensional virtual model of the intraoral object is generated using the adjusted data.

RELATED APPLICATIONS

This patent application is a continuation application of U.S. patent application Ser. No. 16/823,156 filed Mar. 18, 2020, which is a continuation application of U.S. patent application Ser. No. 16/708,293 filed Dec. 9, 2019, which is a continuation application of US. patent application Ser. No. 16/396,484 filed Apr. 26, 2019, which is a continuation of U.S. patent application Ser. No. 16/286,437, filed Feb. 26, 2019, which is a continuation application of U.S. patent application Ser. No. 15/610,515, filed May 31, 2017, which is a divisional application of U.S. patent application Ser. No. 14/825,173, filed Aug. 13, 2015, which claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 62/037,778, filed Aug. 15, 2014, all of which are herein incorporated by reference.

TECHNICAL FIELD

Embodiments of the present invention relate to the field of imaging and, in particular, to a system and method for performing confocal imaging of a three dimensional surface.

BACKGROUND

A great variety of methods and systems have been developed for direct optical measurement of teeth and the subsequent automatic manufacture of dentures. The term “direct optical measurement” signifies surveying of teeth in the oral cavity of a patient. This facilitates the obtainment of digital constructional data necessary for the computer-assisted design (CAD) or computer-assisted manufacture (CAM) of tooth replacements without having to make any cast impressions of the teeth. Such systems typically include an optical probe coupled to an optical pick-up or receiver such as charge coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) sensor and a processor implementing a suitable image processing technique to design and fabricate virtually the desired product.

One type of system that performs intra-oral scans is a system that uses confocal imaging to image a three dimensional surface. Such systems that use confocal imaging typically include field lenses to flatten an imaging field and enable flat focal planes for emitted light beams. Such flat focal planes ensure that the surface topology of scanned three dimensional surfaces is accurate. However, the field lenses are diverging lenses that open the rays of the light beams. This causes the optics of the confocal imaging apparatus to be enlarged. Additionally, the field lenses should be aligned to ensure accuracy. Such alignment can be a time consuming and challenging process.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.

FIG. 1A illustrates a functional block diagram of a confocal imaging apparatus according to one embodiment.

FIG. 1B illustrates a block diagram of a computing device that connects to a confocal imaging apparatus, in accordance with one embodiment.

FIG. 2A illustrates optics of a confocal imaging apparatus that lacks a field lens, in accordance with one embodiment.

FIG. 2B illustrates optics of a confocal imaging apparatus that lacks a field lens, in accordance with another embodiment.

FIG. 2C illustrates optics of a confocal imaging apparatus with a field lens for which changes in a focusing setting cause changes in magnification, in accordance with another embodiment.

FIG. 3A is a top view of a probing member of a confocal imaging apparatus that includes a prism, in accordance with an embodiment of the invention.

FIG. 3B is a longitudinal cross-section through line II-II of the probing member FIG. 3A.

FIG. 3C is a view of a probing member that includes an internal target, in accordance with one embodiment.

FIG. 3D is a side view of a probing member that includes an internal target, in accordance with one embodiment.

FIG. 4 is a schematic illustration of optics of a confocal imaging apparatus, in accordance with one embodiment.

FIG. 5A is a flow chart showing one embodiment of a method for calibrating a confocal imaging apparatus having an imaginary non-flat focal surface.

FIG. 5B is a flow chart showing one embodiment of a method for calibrating a confocal imaging apparatus for which changes in a focusing setting cause changes in magnification.

FIG. 5C illustrates one example calibration object, in accordance with one embodiment.

FIG. 5D illustrates a chart showing a distribution of points of a calibration object as measured by a confocal imaging apparatus, in accordance with one embodiment.

FIG. 5E illustrates a chart showing a distribution of points in a world coordinate system, in accordance with one embodiment.

FIG. 6 is a flow chart showing one embodiment of a method for adjusting depth measurements of a scanned three dimensional object based on application of a field curvature model calibrated to a confocal imaging apparatus.

FIG. 7 illustrates a block diagram of an example computing device, in accordance with embodiments of the present invention.

DETAILED DESCRIPTION

Described herein is a confocal imaging apparatus having a non-flat focal surface. The non-flat focal surface may be caused by the optics of the confocal imaging apparatus lacking a field lens. As is discussed in greater detail below, the lack of a field lens in the confocal imaging apparatus introduces challenges but also provides numerous advantages. For example, a confocal imaging apparatus without a field lens is smaller, lighter and easier to manufacture than a confocal imaging apparatus having a field lens. Embodiments discussed herein show how to overcome the challenges in designing and using a confocal imaging apparatus lacking a field lens.

Also described herein is a large field confocal imaging apparatus having focusing optics that change a magnification of a focal surface with changes in a focusing setting. As is discussed in greater detail below, the change in magnification introduces challenges that are overcome in embodiments.

In one embodiment, a confocal imaging apparatus includes an illumination module to generate an array of light beams. Focusing optics of the confocal imaging apparatus perform confocal focusing of an array of light beams onto a non-flat focal surface and direct the array of light beams toward a three dimensional object to be imaged. A translation mechanism of the confocal imaging apparatus adjusts a location of at least one lens to displace the non-flat focal surface along an imaging axis. A detector of the confocal imaging apparatus measures intensities of an array of returning light beams that are reflected off of the three dimensional object and directed back through the focusing optics. Intensities of the array of returning light beams are measured for locations of the at least one lens for determination of positions on the imaging axis of points of the three dimensional object. Detected positions of one or more points are adjusted to compensate for the non-flat focal surface. Thus, an object may be accurately imaged despite the non-flat focal surface of the confocal imaging apparatus.

FIG. 1A illustrates a functional block diagram of a confocal imaging apparatus 20 according to one embodiment. FIG. 1B illustrates a block diagram of a computing device 24 that connects to the confocal imaging apparatus 20. Together, the confocal imaging apparatus 20 and computing device 24 may form a system for generating three dimensional images of scanned objects. The computing device 24 may be connected to the confocal imaging apparatus 20 directly or indirectly and via a wired or wireless connection. For example, the confocal imaging apparatus 20 may include a network interface controller (NIC) capable of communicating via Wi-Fi, via third generation (3G) or fourth generation (4G) telecommunications protocols (e.g., global system for mobile communications (GSM), long term evolution (LTE), Wi-Max, code division multiple access (CDMA), etc.), via Bluetooth, via Zigbee, or via other wireless protocols. Alternatively, or additionally, confocal imaging apparatus may include an Ethernet network interface controller (NIC), a universal serial bus (USB) port, or other wired port. The NIC or port may connect the confocal imaging apparatus to the computing device via a local area network (LAN). Alternatively, the confocal imaging apparatus 20 may connect to a wide area network (WAN) such as the Internet, and may connect to the computing device 24 via the WAN. In an alternative embodiment, confocal imaging apparatus 20 is connected directly to the computing device (e.g., via a direct wired or wireless connection). In one embodiment, the computing device 24 is a component of the confocal imaging apparatus 20.

Referring now to FIG. 1A, in one embodiment confocal imaging apparatus 20 includes a semiconductor laser unit 28 that emits a focused light beam, as represented by arrow 30. The light beam 30 passes through a polarizer 32. Polarizer 32 polarizes the light beam passing through polarizer 32. Alternatively, polarizer 32 may be omitted in some embodiments. The light beam then enters into an optic expander 34 that improves a numerical aperture of the light beam 30. The light beam 30 then passes through an illumination module 38, which splits the light beam 30 into an array of incident light beams 36, represented here, for ease of illustration, by a single line. The illumination module 38 may be, for example, a grating or a micro lens array that splits the light beam 30 into an array of light beams 36, in one embodiment, the array of light beams 36 is an array of telecentric light beams. Alternatively, the array of light beams may not be telecentric.

The confocal imaging apparatus 20 further includes a unidirectional mirror or beam splitter (e.g., a polarizing beam splitter) 40 that passes the array of light beams 36. A unidirectional mirror 40 allows transfer of light from the semiconductor laser 28 through to downstream optics, but reflects light travelling in the opposite direction. A polarizing beam splitter allows transfer of light beams having a particular polarization and reflects light beams having a different (e.g., opposite) polarization. In one embodiment, the unidirectional mirror or beam sputter 40 has a small central aperture. The small central aperture may improve a measurement accuracy of the confocal imaging apparatus 20. In one embodiment, as a result of a structure of the unidirectional mirror or beam splitter 40, the array of light beams will yield a light annulus on an illuminated area of an imaged object as long as the area is not in focus. Moreover, the annulus will become a completely illuminated spot once in focus. This ensures that a difference between measured intensities of out-of focus points and in-focus points will be larger.

Along an optical path of the array of light beams after the unidirectional mirror or beam sputter 40 are confocal focusing optics 42, and an endoscopic probing member 46. Additionally, a quarter wave plate may be disposed along the optical path after the unidirectional mirror or beam splitter 40 to introduce a certain polarization to the array of light beams. In some embodiments this may ensure that reflected light beams will not be passed through the unidirectional mirror or beam splitter 40. Confocal focusing optics 42 may additionally include relay optics (not shown). Confocal focusing optics 42 may or may not maintain the same magnification of an image over a wide range of distances in the Z direction, wherein the Z direction is a direction of beam propagation (e.g., the Z direction corresponds to an imaging axis that is aligned with an optical path of the array of light beams 36). The relay optics enable the confocal imaging apparatus 20 to maintain a certain numerical aperture for propagation of the array of light beams 36. The confocal focusing optics 42 and endoscopic probing member 46 are discussed in greater detail with reference to FIGS. 2A-2C.

The endoscopic probing member 46 may include a rigid, light-transmitting medium, which may be a hollow object defining within it a light transmission path or an object made of a light transmitting material, e.g. a glass body or tube. In one embodiment, the endoscopic probing member 46 include a prism such as a folding prism. At its end, the endoscopic probing member 46 may include a mirror of the kind ensuring a total internal reflection, Thus, the mirror may direct the array of light beams towards a teeth segment 26 or other object. The endoscope probing member 46 thus emits array of light beams 48, which impinge on to surfaces of the teeth section 26.

The array of light beams 48 are arranged in an X-Y plane, in the Cartesian frame 50, propagating along the Z axis. As the surface on which the incident light beams hits is an uneven surface, illuminated spots 52 are displaced from one another along the Z axis, at different (X_(i), Y_(i)) locations. Thus, while a spot at one location may be in focus of the confocal focusing optics 42, spots at other locations may be out-of-focus. Therefore, the light intensity of returned light beams of the focused spots will be at its peak, while the light intensity at other spots will be off peak. Thus, for each illuminated spot, multiple measurements of light intensity are made at different positions along the Z-axis. For each of such (X_(i), Y_(i)) location, the derivative of the intensity over distance (Z) may be made, with the Z_(i) yielding maximum derivative, Z₀, being the in-focus distance. As pointed out above, the incident light from the array of light beams 48 forms a light disk on the surface when out of focus and a complete light spot when in focus. Thus, the distance derivative will be larger when approaching in-focus position, increasing accuracy of the measurement.

The light scattered from each of the light spots includes a beam travelling initially in the Z axis along the opposite direction of the optical path traveled by the array of light beams 48. Each returned light beam in an array of returning light beams 54 corresponds to one of the incident light beams in array of light beams 36. Given the asymmetrical properties of unidirectional mirror or beam splitter 40, the returned light beams are reflected in the direction of detection optics 60.

The detection optics 60 may include a polarizer 62 that has a plane of preferred polarization oriented normal to the plane polarization of polarizer 32. Alternatively, polarizer 32 and polarizer 62 may be omitted in some embodiments. The array of returning light beams 54 may pass through imaging optics 64 in one embodiment. The imaging optics 64 may be one or more lenses. Alternatively, the detection optics 60 may not include imaging optics 64. In one embodiment, the array of returning light beams 54 further passes through a matrix 66, which may be an array of pinholes. Alternatively, no matrix 66 is used in some embodiments. The array of returning light beams 54 are then directed onto a detector 68.

The detector 68 is an image sensor having a matrix of sensing elements each representing a pixel of the image. If matrix 66 is used, then each pixel further corresponds to one pinhole of matrix 66. In one embodiment, the detector is a charge coupled device (CCD) sensor. In one embodiment, the detector is a complementary metal-oxide semiconductor (CMOS) type image sensor. Other types of image sensors may also be used for detector 68. The detector 68 detects light intensity at each pixel.

In one embodiment, detector 68 provides data to computing device 24. Thus, each light intensity measured in each of the sensing elements of the detector 68, is then captured and analyzed, in a manner to be described below, by processor 24.

Confocal imaging apparatus 20 further includes a control module 70 connected both to semiconductor laser 28 and a motor 72, voice coil or other translation mechanism. In one embodiment, control module 70 is or includes a field programmable gate array (FPGA) configured to perform control operations. Motor 72 is linked to confocal focusing optics 42 for changing a focusing setting of confocal focusing optics 42. This may adjust the relative location of an imaginary non-flat focal surface of confocal focusing optics 42 along the Z-axis (e.g., in the imaging axis). Control module 70 may induce motor 72 to axially displace (change a location of) one or more lenses of the confocal focusing optics 42 to change the focal depth of the imaginary non-flat focal surface. In one embodiment, motor 72 or confocal imaging apparatus 20 includes an encoder (not shown) that accurately measures a position of one or more lenses of the confocal focusing optics 42. The encoder may include a sensor paired to a scale that encodes a linear position. The encoder may output a linear position of the one or more lenses of the confocal focusing optics 42. The encoder may be an optical encoder, a magnetic encoder, an inductive encoder, a capacitive encoder, an eddy current encoder, and so on. After receipt of feedback that the location of the one or more lenses has changed, control module 70 may induce laser 28 to generate a light pulse. Control unit 70 may additionally synchronize image-capturing module 80 from FIG. 1B to receive and/or store data representative of the light intensity from each of the sensing elements at the particular location of the one or more lenses (and thus of the focal depth of the imaginary non-flat focal surface). In subsequent sequences, the location of the one or more lenses (and thus the focal depth) will change in the same manner and the data capturing will continue over a wide focal range of confocal focusing optics 42.

Referring now to FIG. 1B, image capturing module 80 may capture images responsive to receiving image capture commands from the control unit 70. The captured images may be associated with a particular focusing setting (e.g., a particular location of one or more lenses in the confocal focusing optics as output by the encoder). Image processing module 82 then processes captured images captured over multiple different focusing settings. Image processing module 82 includes a depth determiner 90 and a field compensator 92 for processing image data.

Depth determiner 90 determines the relative intensity in each pixel over the entire range of focal settings of confocal focusing optics 42 from received image data. Once a certain light spot associated with a particular pixel is in focus, the measured intensity will be maximal for that pixel. Thus, by determining the Z corresponding to the maximal light intensity or by determining the maximum displacement derivative of the light intensity, for each pixel, the relative position of each light spot along the Z axis can be determined for each pixel. Thus, data representative of the three-dimensional pattern of a surface in the teeth segment 26 or other three dimensional object can be obtained.

In embodiments, the confocal focusing optics 42 of confocal imaging apparatus 20 lack field lenses. The purpose of the field lens is to flatten a focal field and thus produce a flat focal plane for the array of light beams. For confocal imaging apparatuses with field lenses, each light beam from the array of light beams focuses on the same flat focal plane. However, without such field lenses the array of light beams focus on an imaginary non-flat focal surface (e.g., on a curved focal surface). This causes the Z axis information that depth determiner 90 computes to be distorted for many pixels.

Field compensator 92 compensates for the curved field caused by the lack of a field lens. Field compensator 92 may also compensate for changes in a position of the curved focal surface caused by temperature and/or for magnification changes caused by changes in a focusing setting. Field compensator 92 applies a field curvature model 94 and/or other optics compensation model (not shown) to each Z axis measurement of each pixel to correct for field curvature, temperature and/or magnification changes. In one embodiment, a different field curvature model 94 (or other optics compensation model) is applied for each focusing setting of the confocal imaging apparatus 20. This is because the amount of field curvature and/or magnification may change with changes in the focusing setting. Alternatively, a single field curvature model 94 (or other optics compensation model) may account for the changes in the field curvature caused by changes in the focusing setting and/or for changes in magnification caused by changes in the focusing setting. For each combination of an X,Y pixel location and a focusing setting (e.g., a z-axis position of one or more lenses of the focusing optics), a particular depth adjustment may be applied based on the field curvature model or models. Additionally, an X location adjustment and/or a Y location adjustment bay be applied based on the field curvature model and/or other optics compensation model. In one embodiment, for each combination of an X,Y pixel location, a focusing setting, and a temperature reading or a z-axis position of a measured element whose position changes with changes in temperature, a particular depth adjustment may be applied based on the field curvature model or models. The adjusted depth (z-axis) values represent the actual z-axis values of the imaged surface.

A three-dimensional representation may be constructed based on the corrected measurement data and displayed via a user interface 84. The user interface 84 may be a graphical user interface that includes controls for manipulating a display of the three-dimensional representation (e.g., viewing from different angles, zooming-in or out, etc.). In addition, data representative of the surface topology of the scanned object may be transmitted to remote devices by a communication module 88 for further processing or use (e.g., to generate a three dimensional virtual model of the scanned object).

By capturing, in this manner, an image from two or more angular locations around the structure, e.g. in the case of a teeth segment from the buccal direction, from the lingual direction and optionally from above the teeth, an accurate three-dimensional representation of the teeth segment may be reconstructed. This may allow a virtual reconstruction of the three-dimensional structure in a computerized environment or a physical reconstruction in a CAD/CAM apparatus. For example, a particular application is imaging of a segment of teeth having at least one missing tooth or a portion of a tooth. In such an instance, the image can then be used for the design and subsequent manufacture of a crown or any other prosthesis to be fitted into this teeth segment.

FIG. 2A illustrates optics 200 of a confocal imaging apparatus that lacks a field lens, in accordance with one embodiment. The optics 200 may correspond to optics of confocal imaging apparatus 20 of FIG. 1A, such as confocal focusing optics 42.

The optics 200 include an illumination module 38, a unidirectional mirror or beam splitter 40, a series of lenses that may correspond to confocal focusing optics 42, and folding prism 220 arranged along an optical path traversed by an array of light beams 225. The optical path is shown to be a linear path. However, in embodiments one or more of the components of optics 200 may change a direction of the optical path. For example, the folding prism 220 may include a mirror (not shown) that may reflect light beams at an angle. An example of such a folding prism is shown in FIG. 3B. Referring back to FIG. 2, an imaging axis 240 is shown that is aligned to the optical path traversed by the array of light beams 225. The imaging axis 240 is a Z-axis that represents depth. As used herein, the imaging axis (or Z axis) may be a curvilinear coordinate axis that corresponds to the optical path. Thus, if the optical path changes direction, the imaging axis changes direction correspondingly.

Illumination module 38 is a source of multiple light beams. In one embodiment, illumination module is a micro lens array that divides an incoming light beam into array of light beams 225. In one embodiment, the array of light beams output by the illumination module 38 is an array of telecentric light beams. Accordingly, chief rays of the array of light beams may be parallel to each other. Unidirectional mirror or beam splitter 40 is disposed along the optical path of the array of light beams, and passes the array of light beams received from the unidirectional mirror or beam splitter 40.

In one embodiment, the confocal focusing optics are divided into a series of lens groups including a first lens group 205, a second lens group 215 and a third lens group 210. First and/or second lens groups 205, 215 may act as relay optics. The first and second lens groups 205, 215 are configured to focus the array of light beams and compensate for optical aberrations. Optical aberrations that may be corrected include shape aberrations, coma, stigmatism, and so forth. In one embodiment, the first and second lens groups 205, 215 are configured to produce an approximately rectangular field having minimal optical distortion. The first lens group 205 and second lens group 215 may have a fixed position relative to each other and to other components of the optics 200. The third lens group 210 has a variable location that may be adjusted to change a location of a curved focal surface produced by the optics 200.

The third lens group 210 is movable along the imaging axis (z axis), but has a fixed position normal to the imaging axis. A focusing setting of the focusing optics can be adjusted by moving the third lens group 210 along the imaging axis. Third lens group 210 may be adjusted to perform scanning of an object. To scan an object, the third lens group 210 may be displaced to numerous different locations (encoder positions) along the imaging axis 240, and images may be taken at each location. In one embodiment, an axial gain of the focusing optics is approximately 7×. Accordingly, a displacement of the third lens group 210 adjusts a location of a curved focal surface 230 by seven times the amount of displacement. For example, a 1 mm displacement of the third lens group 210 causes a position of the curved focal surface (also referred to as a curved focal plane) by 7 mm. This enables the optics 200 to be compact and minimizes movement during operation.

In one embodiment, second lens group 215 focuses the array of light beams 225 into prism 220, which may be a folding prism. Prism 220 may be configured to provide an appropriate refractive index (e.g., that corresponds to a refractive index of glass).

The optics 200 lack any field lens. A field lens is used to flatten a focal surface (flatten an imaging field) to achieve a flat focal plane. As shown, there is no field lens between the illumination module 38 and the unidirectional mirror or beam splitter 40. Nor is there a field lens near prism 220 or a field lens between the unidirectional mirror or beam splitter 40 and a detector (not shown). The lack of a field lens introduces numerous advantages over confocal imaging apparatuses that use field lenses. The field lens is a diverging lens that causes a radius of the lenses used for the focusing optics and/or for relay optics to be larger. This in turn increases the amount of material (e.g., glass) used in the lenses and thus increases a weight of the confocal imaging apparatus. Additionally, the larger lenses cause a thickness of the confocal imaging apparatus to be larger. For example, an example confocal imaging apparatus with a field lens includes a largest lens having a distance from an optical axis to an outer perimeter of the lens of about 15 mm. In contrast, the same confocal imaging apparatus without a field lens may include a largest lens having a distance from the optical axis to an outer perimeter of the lens of less than 15 mm (e.g., less than 13 mm or about 9 mm in embodiments).

In a confocal imaging apparatus having a field lens, the field lens may be positioned between the illumination module 38 and the unidirectional mirror or beam splitter 40. This causes a spacing between the illumination module 38 and the unidirectional mirror or beam splitter 40 to be about 7 mm. Additionally, a corresponding field lens would be placed between the unidirectional mirror or beam splitter 40 and a detector (not shown) at a distance of about 7 mm. In contrast, by eliminating the field lens, the distance 235 between the illumination module 38 and the unidirectional mirror or beam splitter 40 may be less than 7 mm (e.g., less than 5 mm or about 2 mm in embodiments). This further reduces the size of the confocal imaging apparatus.

As mentioned, if a field lens is used in a confocal imaging apparatus, then in actuality two field lenses are used. These two field lenses should be matching field lenses and should be carefully aligned to one another. This alignment can be a time consuming process. Additionally, failure to exactly align these field lenses introduces inaccuracy into the confocal imaging apparatus. Accordingly, an accuracy of the confocal imaging apparatus can be improved and an ease of manufacture for the confocal imaging apparatus can be improved by eliminating the field lens.

The lack of a field lens causes the focal surface 230 to be a curved focal surface (or other non-flat focal surface). The shape of the curved focal surface 230 may depend on the focusing setting of the focusing optics (e.g., the location of the third lens group 210). The curved focal surface may introduce significant error into the confocal imaging apparatus, which accounts for the inclusion of field lenses in prior confocal imaging apparatuses. However, embodiments of the present invention provide a field compensator (see, e.g., field compensator 92 of FIG. 1B) that minimizes or eliminates the error introduced by the lack of a field lens.

As shown, the confocal focusing optics is a non-telecentric optical system. Accordingly, magnification of an imaged object may change with changes in depth and/or in changes of focal settings. However, such magnification changes (and any accompanying distortion) may be accommodated and corrected by the field compensator based on application of a field curvature model. Alternatively, the confocal focusing optics may operate in a telecentric mode, and distance-introduced magnification changes may be avoided.

FIG. 2B illustrates optics 250 of a confocal imaging apparatus that lacks a field lens, in accordance with one embodiment. The optics 250 may correspond to optics of confocal imaging apparatus 20 of FIG. 1A, such as confocal focusing optics 42. Similar to optics 200, optics 250 include an illumination module 38, a unidirectional mirror (or beam splitter) 40, and a series of lens groups. The series of lens groups include a first lens group 255 with a fixed position and a second lens group 265 that is movable along an imaging axis 280 corresponding to a direction of propagation for an array of light beams 270.

The array of light beams 270 are focused onto a curved focal surface 275. Though the optics 250 are not telecentric, magnification is preserved (fixed) with changes in focusing settings because the array of light beams are collimated between first lens group 255 and second lens group 265. For optics 250, axial gain is 1×. Accordingly, a displacement of 1 mm of the second lens group 265 causes a displacement of the curved focal surface of 1 mm.

An object may be placed along the beam path to be imaged. The array of light beams 285 reflect off of the object and an array of returning light beams return back through the series of lens groups. The array of returning light beams 285 is then reflected by the unidirectional mirror (or beam splitter) 40 onto detector 68. As shown, the optics 250 lack a field lens between the unidirectional mirror or beam splitter 40 and the illumination module 38 and further lack a field lens between the unidirectional mirror or beam splitter 40 and the detector 68. Accordingly, the focal surface for the optics 250 is a curved focal surface 275.

Embodiments have been discussed herein with reference to a confocal imaging apparatus that lacks a field lens and that has a curved focal surface. However, in some embodiments the confocal imaging apparatus includes one or more field lenses and thus has a flat focal surface. For such embodiments, the confocal imaging apparatus operates in a non-telecentric mode, and magnification at a focal plane changes with changes in focusing settings of the confocal imaging apparatus.

FIG. 2C illustrates one example of optics 285 for a confocal imaging apparatus that includes a field lens, in accordance with one embodiment. The optics 285 may correspond to optics of confocal imaging apparatus 20 of FIG. 1A, such as confocal focusing optics 42. Similar to optics 200 and optics 250, optics 285 include an illumination module 38, a unidirectional mirror (or beam splitter) 40, and a series of lens groups. However, optics 285 also include a field lens 288 that causes a flat focal plane 299. The series of lens groups include a first lens group 290 with a fixed position, a second lens group 292 with a fixed position and a third lens group 294 that is movable along an imaging axis 297 corresponding to a direction of propagation for an array of light beams 298.

The array of light beams 298 are focused onto flat focal plane 299. Magnification at the flat foal plane 299 changes with changes in focusing settings. The changes in magnification may introduce significant error into the confocal imaging apparatus. Accordingly, the focusing optics for some large field confocal imaging apparatuses maintain the same magnification with changes in focusing settings (e.g., with changes in a position of one or more lenses along an imaging axis). However, embodiments of the present invention provide a field compensator (see, e.g., field compensator 92 of FIG. 1B) that minimizes or eliminates the error introduced by the change in magnification.

FIGS. 3A-3B illustrate a probing member 300 in accordance with one embodiment. The probing member 300 is made of a light transmissive material such as glass. In one embodiment, the probing member 300 acts as a prism and corresponds to prism 220 of FIG. 2. Probing member 300 may include an anterior segment 301 and a posterior segment 302, tightly bonded (e.g., glued) in an optically transmissive manner at 303. Probing member 300 may additionally include a slanted face 304 covered by a reflective mirror layer 305. A window 306 defining a sensing surface 307 may be disposed at a bottom end of the anterior segment 301 in a manner leaving an air gap 308. The window 306 may be fixed in position by a holding structure which is not shown. An array of light rays or beams 309 are represented schematically. As can be seen, the array of light beams 309 are reflected at the walls of the probing member at an angle in which the wads are totally reflective and finally reflect on mirror layer 305 out through the sensing face 307. The array of light beams 309 focus on a non-flat focal surface 310, the position of which can be changed by the focusing optics (not shown in this figure).

Various components of the confocal imaging apparatus may dissipate considerable amounts of heat relative to a size of the confocal imaging apparatus. For example, the confocal imaging apparatus may include a CMOS sensor and an FPGA, both of which may produce heat. Accordingly, internal temperatures of the confocal imaging apparatus may rise over time during use. At any given time, different portions of the confocal imaging apparatus may have different temperatures. A temperature distribution within the confocal imaging apparatus is referred to as a thermal state of the confocal imaging apparatus: The thermal state of the confocal imaging apparatus may affect various optical parameters. For example, the thermal state may cause the positions of one or more optical components to move within the confocal imaging apparatus due to expansion of the various components in accordance with thermal expansion coefficients of these components. Additionally, the refractive coefficient of one or more lens of the confocal imaging apparatus may change with changes in the thermal state. Such changes cause measurements produced by the confocal imaging apparatus to change with changes in the internal thermal state, Some regions of the confocal imaging apparatus are more sensitive to thermal change than others (e.g., due to a high optical gain). For example, some optical elements may have an axial gain of up to about 7.5 in an embodiment. For such optical elements, a 10 μm movement due to changes in the thermal state could cause up to a 75 μm shift in a measurement. Accordingly, in some embodiments, as shown in FIGS. 3C-3D, an internal target is used to adjust for measurement changes caused by changes in the thermal state. Alternatively, multiple temperature sensors may be disposed within the confocal imaging apparatus and used to determine changes in the thermal state.

FIGS. 3C-3D illustrate a probing member 370 that includes an internal target 380, in accordance with one embodiment. The probing member 370 is substantially similar to probing member 300. For example, probing member 370 may be made of a light transmissive material such as glass, and may act as a prism. Probing member 370 may include an anterior segment 371 and a posterior segment 372, tightly bonded (e.g., glued) in an optically transmissive manner. Probing member 370 may additionally include a slanted face covered by a reflective mirror layer. A window 376 defining a sensing surface may be disposed at a bottom end of the anterior segment 371. The window 376 may be glass or another transparent material, and may be fixed in position by a holding structure which is not shown.

Probing member 370 additionally includes internal target 380 secured to the anterior segment 371 of the probing member 370 within a field of view (FOV) of the probing member 370. The internal target 380 may be a rigid reflective material that will reflect light beams. The internal target 380 may be secured at a fixed position within the probing member 300. Since the internal target 380 is a part of the probing member 370, the location of the internal target 380 should remain constant. In one embodiment, the internal target 380 takes up approximately 500 μm to 1 mm of the FOV.

During measurement, an array of light rays or beams 390-392 is projected out of the anterior segment 371. As can be seen, the internal target 380 is in the path of light beams 390. Accordingly, the light beams 390 are reflected off of the internal target 380, which provides a depth (z-axis) measurement of the internal target 380. Since the internal target 380 is at a fixed position, the measured depth of the internal target 380 should not change. Accordingly, any measured change in the position of the internal target 380 reflects changes in internal optics associated with the thermal state of the confocal imaging apparatus.

The light beams 392 project through the window 376 and focus on a non-flat focal surface 310, the position of which can be changed by the focusing optics (not shown in this figure). Alternatively, the internal target 380 may be included in an imaging apparatus with a flat focal surface (e.g., an imaging apparatus with a field lens). Such an imaging apparatus may or may not be a confocal imaging apparatus. These light beams 392 may be used to measure the position of an object in the FOV of the confocal imaging apparatus. The measured change in the position of the internal target 380 can be used to correct for measurement errors caused by the thermal state. Any apparent change in the z-axis position of the internal target 380 may be used to apply an adjustment factor to other z-axis measurements of the imaged object to compensate for changes in the focusing optics caused by temperature. Additionally, a change in the z-axis position of the internal target may be used to apply an adjustment to the X and Y pixel measurements in embodiments. In one embodiment, the z-axis position of the internal target and measured points of an object are input into a thermal state compensation model to compensate for the thermal state. In one embodiment, the thermal state compensation model is a three dimensional polynomial function.

FIG. 4 is a schematic illustration of a confocal imaging apparatus 450, in accordance with one embodiment. In one embodiment, the confocal imaging apparatus 450 corresponds to confocal imaging apparatus 20 of FIG. 1A. In one embodiment, components of confocal imaging apparatus 20 correspond to like named components illustrated in optics 200 of FIG. 2. In confocal imaging apparatus 450 a parent light beam 452 may be a combination of light emitted by multiple lasers 454A, 454B and 454C. Alternatively, the parent light beam 452 may be produced by a single laser (e.g., 454B). An illumination module 456 (e.g., an optic expander) then expands the single parent beam into an array of incident light beams 458. Incident light beams pass through a unidirectional (e.g., unidirectional) mirror or beam splitter 460, then through focusing optics 462 towards an object 464 to be imaged.

Parent beam 452 may include multiple different wavelengths, with a different wavelength being transmitted from each laser 454A-C. Thus, parent light beam 452 and one or more incident light beams in the array of light beams 458 may be composed of multiple different light components. Alternatively, each light beam in the array of light beams may include a single wavelength from the multiple wavelengths of parent beam 452. Lasers 454A-C may be arranged such that each light beam focuses on a different curved focal surface, P_(A), P_(B) and P_(C), respectively. In the position shown in FIG. 4, incident light beam 458A reflects off of the surface at spot 470A, which in the specific optical arrangement of optics 462 is in the focal point for light component A (emitted by laser 454A). Thus, a returned light beam 472A is measured by a detector 476 that includes a two dimensional array of sensors, each corresponding to a pixel. In one embodiment, the detector is a two-dimensional array of spectrophotometers, e.g. a 3 CHIP COD sensor. Similarly, different maximal intensity will be reached for spots 470B and 470C for light components B and C, respectively. Thus, by using different light components each one focused simultaneously at a different plane, the time used to complete a measurement can be reduced as different focal plane ranges can simultaneously be measured.

In an alternative embodiment, only a single wavelength of light is emitted (e.g., by a single laser). Thus, parent beam 452 and the array of light beams 458 may include a single wavelength. In such an embodiment, each of the light beams in the array of light beams 458 focuses on the same curved focal surface P_(C). Thus in the position shown in FIG. 4, incident light beam 458A reflects off of the surface at spot 470A which in the specific focusing setting of focusing optics 462 is at the focal point for focusing optics 462. Thus, the returned light beam 472A is measured by a detector 476 that includes a two dimensional array of sensors, each corresponding to a pixel and is registered as the z-axis position for spot 470C. Similarly, incident light beams 458A, 458B reflect off of the surface at spots 470A and 470B, respectively. However, the spots 470A, 470B are not on the curved focal surface P_(C). Accordingly, light is reflected back in a blurred manner from the object 464 for those spots. By changing the focusing setting for focusing optics 462 so that the focal point aligns with spot 470B and separately with 470A, corresponding depths associated with those focusing settings may be detected for spots 470B and 470A, respectively.

FIG. 5A is a flow chart showing one embodiment of a method 500 for calibrating a confocal imaging apparatus having an imaginary non-flat focal surface. Method 500 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In one embodiment, at least some operations of method 500 are performed by a computing device (e.g., computing device 24 of FIG. 1B). In one embodiment, at least some operations of method 500 are performed by confocal imaging apparatus 20 of FIG. 1A.

The confocal imaging apparatus described in embodiments herein has a non-flat (e.g., curved) focal surface. This curved focal surface introduces inaccuracies in depth measurements of points of a scanned object. For example, a first point of the object at a center of the confocal imaging apparatus' imaging field may be in focus and thus cause a highest intensity measurement at a depth Z_(i). However, a second point of the object at an edge of the imaging field that has a same depth as the first point may be in focus and cause a highest intensity measurement at a depth Z_(i)+X due to the non-flat focal surface, where X represents the difference between the focal point at the center of the imaging field and the focal point at the edge of the imaging field. Thus, the non-flat imaging field will cause measurements of the first and second points to yield different depth values even though they are at the same depth. In one embodiment, calibration method 500 is performed to calibrate the confocal imaging apparatus so that the error introduced by the non-flat focal surface can be eliminated.

At block 505 of method 500, a calibration object is measured by the confocal imaging apparatus. The calibration object is a high accuracy object with known X, Y and Z coordinates for every point of the calibration object. The accuracy level of the calibration object may define the final accuracy of the confocal imaging apparatus. In one embodiment, the X, Y and Z coordinates for the calibration object are accurate and known to a level of accuracy that is a degree of magnitude higher than a final desired accuracy of the confocal imaging apparatus. For example, if the confocal imaging apparatus is to have a final accuracy to 5 microns, then the calibration object may be accurate to 0.5 microns.

Various calibration objects may be used, a few examples of which are set forth herein. One example calibration object is a sphere with a very accurate radius on an accurate X-Y-Z stage. Another example calibration object is a flat plate with a grid of horizontal and vertical lines printed on a surface of the plate. A flatness of the plate and the line spacing may be very accurate. Another example calibration object is a flat plate with circles or dots printed on a surface of the plate. The flatness of the plate and the size and spacing of the circles may be very accurate. Many other calibration objects may also be used. FIG. 5C illustrates one example calibration object 590, which is a flat plate with a grid of precisely spaced circles or dots.

Referring back to FIG. 5A, the calibration object is measured at each focusing setting (e.g., encoder position) of the confocal imaging apparatus. For some types of calibration objects (e.g., the sphere), the calibration object is moved to multiple different X, Y positions for each focusing setting and/or to multiple different X, Y, Z positions for each focusing setting. For other types of calibration objects (e.g., the plates), the calibration object may be moved to multiple different Z positions for each focusing setting. Measurements may be taken for each position of the calibration object.

In one embodiment, the calibration object is mounted to a calibration jig, which may precisely move the calibration object in one or more dimensions. For example, the calibration object 590 may be mounted to the calibration jig, and the calibration jig may be moved along the z-axis. In one embodiment, the calibration jig moves the calibration object in 1 mm increments, with an accuracy of 1 μm. The calibration jig may move the calibration object in such a way as to cover more than the full field of view of the confocal imaging apparatus (e.g., the calibration object may be larger than the FOV of the confocal imaging apparatus) and to cover more than the range for the depth of scanning of the confocal imaging apparatus.

In the example of the calibration object 590, the calibration object 590 may be scanned in two ways. A first scan may be performed at each depth position of the calibration object 590 using regular confocal scanning. This will provide a z-position for each dot in the coordinate system of the confocal imaging apparatus (e.g., based on the coordinates of the encoder that positions the lens). A second scan may be performed to generate an image of the dots at focus for each focal setting. The image may be used to determine an X, Y position for the center of each dot in pixel coordinates and with sub-pixel accuracy.

At block 510, the measurements of the calibration object (measurements of the calibration object's surface topology) are compared to a known surface topology of the calibration object. Each point in the calibration object (e.g., each dot in calibration object 590 having a measured x-pixel, y-pixel and encoder value) may be paired to a corresponding real world point (point in a world coordinate system) from the calibration object, where the world coordinate system corresponds to known X, Y, Z coordinates of the calibration object. For example, the X and Y coordinates for calibration object 590 would correspond to known fixed positions of the dots, and the Z coordinate for calibration object 590 would depend on a setting of a calibration jig. For each point of the calibration object, a difference between a measured depth value and a known depth value may be determined. Additionally, for each point of the calibration object, a difference between a measured X and Y position and a known X and Y position may be determined. This may be performed for each focusing setting of the confocal imaging apparatus.

At block 515, the determined differences of the multiple points may be applied to a smooth function (e.g., to a polynomial function such as a three dimensional polynomial function) that may be used to model the field curvature of the confocal imaging apparatus' non-flat focal surface. The function is referred to herein as a un-distortion function. In one embodiment, the determined differences are applied to solve for the constants in a bivariate quadratic polynomial of the form: Z _(Field Curvature(object))(x,y,Z _(optics))=a ₁ x ² +a ₂ y ² +a ₄ y+a ₅ xy+a ₆  (1) Where x and y are the X, Y coordinates for points on a plane normal to the imaging axis. Alternatively, a higher order polynomial may be used. The smooth function with the solved constants may then be used as an accurate field curvature model. Every parameter may be a polynomial that depends on the focusing setting (z-axis value) of the confocal imaging apparatus. This may result in an 18 parameter field curvature model if the above described bivariate quadratic polynomial is used.

Alternatively, the determined differences may be applied to solve for the constants in another smooth function (e.g., a function describing a conic shape). In such an embodiment, a generated model may have a different number of parameters (e.g., 12 parameters if a function describing a conic shape is used). Linear minimization methods (e.g., linear least square method) and/or non-linear minimization methods (e.g., Broyden-Fletcher-Goldfarb-Shanno (BFGS) method) may be applied to find the best values for the constants. As mentioned, this process may be performed for each focusing setting. This is because the amount of field curvature may change with different focusing settings of the confocal imaging apparatus. Accordingly, a separate field curvature model may be generated for each focusing setting. Alternatively, a single field curvature model may be generated that accounts for the changes to the field curvature model due to changes in the focusing setting.

In embodiments, X and Y positions are solved for at the same time that the depth is solved for. For example, differences in X and Y position at different focus settings may also be applied to solve for the constants in the smooth function. Additionally, other types of geometric correction may be solved for as well using this technique. All such geometric corrections may be solved for together. Other types of phenomena that may be corrected for using this technique include magnification change, optical distortion (e.g., non-constant magnification in x and y), optical aberrations, and so on. All such distortions may be solved for together.

FIG. 5D illustrates a chart 594 showing a distribution of points of the calibration object 590 as measured by the confocal imaging apparatus (in the coordinate system of the confocal imaging apparatus). Chart 594 shows measurements taken with the calibration object 590 at three different z positions. As shown, the dots appear to lie on a curved surface. FIG. 5E illustrates a chart 597 showing a distribution of points in the real world. Chart 597 shows measurements taken with the calibration object 590 at three different z positions. As shown, the dots lie on a plane. After calibration, the transformation for each dot may be determined to correct for optical distortions. Thus, the true world position of each dot may be accurately measured.

At block 525, a temperature dependence of the confocal imaging apparatus (e.g., the focusing optics and of a lens housing for the focusing optics) is determined. In one embodiment, the operations of one or more of blocks 505-515 are performed at multiple temperatures over a temperature operating range of the confocal imaging apparatus to determine the temperature dependence. Changes in temperature may cause differences in the measured depth values. Accordingly, a temperature dependency may be determined and applied to the field curvature model to create a thermal state correction model. For example, the field curvature model may be modified from x, y, z=F (i, j, encoder) to x, y, z=F (i, j, encoder, T_(state)), where x, y and z represent real world coordinates, i represents an x-pixel, j represents a y-pixel, encoder represents a focal setting (encoder position), and T_(state) represents a thermal state. For such a model that takes into account the thermal state, an estimate of the thermal state should be obtained for each measurement. A thermal state correction model may also be generated for an imaging apparatus with a flat focal surface using the same process as described herein for an imaging apparatus with a curved focal surface.

In one embodiment, opto-mechanical simulation is performed to determine a relationship between temperature and adjustments in calibration of the focusing optics. This relationship may be used to determine a correction that may be applied to all parameters of the generated field curvature model or models, where the amount of correction is based on a current temperature.

In one embodiment, the main change in the focusing optics due to temperature is a focus shift. Curvature of the non-flat focal surface may be practically unchanged by changes in temperature. In one embodiment, a shift in focus for focusing settings may be determined by scanning one or more elements (e.g., an internal target such as internal target 380 of FIGS. 3C-3D) of the confocal imaging apparatus that is near or along the optical path. In one embodiment, the scanned element is on a side of a field of view (FOV) of the confocal imaging apparatus. This element may be kept at the same distance relative to one or more components of the focusing optics. With each scan, when the 3D surface of an object is captured, the edge of the FOV where the internal target is located captures a position of the internal target. Due to the fact that the internal target is part of the confocal imaging apparatus and has a fixed position, detected changes in the position of the internal target are caused by changes in the thermal state. Accordingly, if a focus shift of the internal target is detected from the scan, then an adjustment factor may be applied to the field curvature model to compensate for the thermal state.

In one embodiment, separate field curvature models are generated for each temperature value or range of the confocal imaging apparatus at a particular focusing setting. Alternatively, a single model may be generated for each focusing setting that accounts for changes in temperature. Alternatively, a temperature dependent adjustment factor may be determined and applied to the field curvature model or models based on a measured temperature.

In one embodiment, a simple model may be used that assumes that optical change caused by the thermal state is primarily due to a linear shift in the focal setting (e.g., a backward motion in the encoder position). For such a model, changes caused by the thermal state may be corrected by adding the difference between a current measured internal target position and a reference value to every focal setting (encoder value) before applying the un-distortion function. The simple model may have the form of: x,y,z=F(i,j,encoder−(internal target position−reference target position))  (2) where F is the un-distortion function, such as function (1) above.

In another embodiment, a more complex model is used that assumes internal target effects are caused by the focal shift of encoder, but in a complex way. Such a model may have the form of: x,y,z=F(i,j,f(encoder,internal target position))  (3)

In another embodiment, a model that corrects for distortions caused by the thermal state assumes that the thermal state changes all optics by a small amount that can be linearly estimated. Such a model may have the form of:

$\begin{matrix} {x,y,{z = {{{F_{hot}\left( {i,j,{encoder}} \right)}\frac{\left( {p - a} \right)}{\left( {b - a} \right)}} + {{F_{cold}\left( {i,j,{encoder}} \right)}\left( {1 - \frac{\left( {p - a} \right)}{\left( {b - a} \right)}} \right)}}}} & (4) \end{matrix}$ where F_(hot) is the un-distortion function under a hot condition, F_(cold) is the un-distortion function under a cold condition, a is the internal target position in the hot condition, b is the internal target position in the cold position, and p is the measured internal target position.

At block 535, the one or more generated field curvature models for the confocal imaging apparatus are stored. The field curvature models may be stored in a memory of the confocal imaging apparatus and/or in a memory of a computing device that processes data from the confocal imaging apparatus. In one embodiment, the field curvature models are stored in a nonvolatile memory (e.g., a read only memory (ROM), FLASH, or other nonvolatile memory) of the confocal imaging apparatus. The Field curvature model (or models) may be applied to measurements of the confocal imaging apparatus to correct the error in the depth measurements that are introduced by the non-flat focal surface of the confocal imaging apparatus. If calibration information is stored in memory of the confocal imaging apparatus, then the field curvature models may be sent along with measurement data to a computing device when measurements are taken. The computing device may then use the received field curvature models to correct for the field curvature of the confocal imaging apparatus.

FIG. 5B is a flow chart showing one embodiment of a method 550 for calibrating a confocal imaging apparatus for which changes in a focusing setting cause changes in magnification. Method 550 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In one embodiment, at least some operations of method 550 are performed by a computing device (e.g., computing device 24 of FIG. 1B). In one embodiment, at least some operations of method 550 are performed by confocal imaging apparatus 20 of FIG. 1A.

The confocal imaging apparatus described with reference to method 550 may have a non-flat (e.g., curved) focal surface or a flat focal plane. Moreover, the confocal imaging apparatus described with reference to method 550 has focusing optics that are configured so that changes in a focusing setting cause a change in magnification at the focal surface or focal plane. This change in magnification introduces inaccuracies in X and Y position measurements of points of a scanned object. For example, a point of the object might be measured to have a first X and Y position at a first focusing setting, but might be measured to have a second X and Y position at a second focusing setting. Thus, the magnification changes will cause measurements to yield different X, Y values as the focusing setting changes. In one embodiment, calibration method 550 is performed to calibrate the confocal imaging apparatus so that the inaccuracies introduced by the changes in magnification can be eliminated.

At block 555 of method 500, a calibration object is measured by the confocal imaging apparatus. The calibration object is a high accuracy object with known X, Y and Z coordinates for every point of the calibration object. The accuracy level of the calibration object may define the final accuracy of the confocal imaging apparatus. In one embodiment, the X, Y and Z coordinates for the calibration object are accurate and known to a level of accuracy that is a degree of magnitude higher than a final desired accuracy of the confocal imaging apparatus. For example, if the confocal imaging apparatus is to have a final accuracy to 5 microns, then the calibration object may be accurate to 0.5 microns. Any of the calibration objects described with reference to FIG. 5A may be used.

The calibration object is measured at each focusing setting (encoder value) of the confocal imaging apparatus. For some types of calibration objects (e.g., the sphere), the calibration object is moved to multiple different X, Y positions for each focusing setting and/or to multiple different X, Y, Z positions for each focusing setting. For other types of calibration objects (e.g., the plates), the calibration object may be moved to multiple different Z positions for each focusing setting. Measurements may be taken for each position of the calibration object. Based on these measurements, a list of coordinates is collected in both the calibration object space (e.g., real world) and in the sensor/optics space (e.g., virtual space). In the calibration object space, each set of coordinates for a point of the object has an X_(obj), Y_(obj) and Z_(obj) coordinate. These coordinates are known to be accurate due to the known information about the calibration object. In the sensor/optics space, each set of coordinates for a point of the object includes an X_(pix), Y_(pix), Z_(optics) coordinate, where X_(pix) and Y_(pix) are determined based on the pixel detecting the point and Z_(optics) is the lens position of the focusing optics (e.g., the focusing setting).

At block 560, the measurements of the calibration object (measurements of the calibration object's surface topology) may be compared to a known surface topology of the calibration object. For each point of the calibration object, a difference between a measured depth value, X value and/or Y value and a known depth value, X value and/or Y value may be determined. This may be performed for each focusing setting of the confocal imaging apparatus.

At block 562, it is determined whether the focusing optics have a curved focal surface. If the focusing optics do have a curved focal surface, the method proceeds to block 565. Otherwise the method proceeds to block 570.

At block 565, the determined differences of the multiple points for the X, Y and/or Z coordinates may be applied to a smooth function (e.g., to a polynomial function such as a three dimensional polynomial function) that may be used to model the field curvature of the confocal imaging apparatus' non-flat focal surface. In one embodiment, the determined differences are applied to solve for the constants in a bivariate quadratic polynomial of the form: Z _(Field Curvature(object))(x,y,Z _(optics))=a ₁ x ² +a ₂ y ² +a ₄ y+a ₅ xy+a ₆  (5) Where x and y are the X_(pix), Y_(pix) coordinates in the sensor space. Alternatively, the determined differences may be applied to solve for the constants in another smooth function (e.g., a function describing a conic shape), such as a polynomial of higher order. The smooth function with the solved constants may then be used for an accurate field curvature model.

At block 570, the determined differences of the multiple points for the X, Y and/or Z coordinates may be applied to a smooth function (e.g., to a polynomial function such as a three dimensional or higher dimensional polynomial function) that may be used to model the changes in magnification of the confocal imaging apparatus on an x-axis caused by changes in the focusing setting (e.g., changes in the Z_(optics) value). In one embodiment, the determined differences are applied to solve for the constants in a bivariate quadratic polynomial of the form. X _(object)(x,y,Z _(optics))=b ₁ x ² +b ₂ y ² +b ₃ x+b ₄ y+b ₅ xy+b ₆  (6) Where x and y are the X_(pix), Y_(pix) coordinates in the sensor space. Alternatively, the determined differences may be applied to solve for the constants in another smooth function (e.g., in another three dimensional polynomial function, such as a function describing a conic shape). The smooth function with the solved constants may then be used as an accurate magnification compensation model for the X coordinate.

At block 575, the determined differences of the multiple points for the X, Y and/or Z coordinates may be applied to a smooth function (e.g., to a polynomial function such as a three dimensional polynomial function) that may be used to model the changes in magnification of the confocal imaging apparatus on a y-axis caused by changes in the focusing setting (e.g., changes in the Z_(optics) value). In one embodiment, the determined differences are applied to solve for the constants in a bivariate quadratic polynomial of the form: Y _(object)(x,y,Z _(optics))=c ₁ x ² +c ₂ y ² +c ₃ x+c ₄ y+c ₅ xy+c ₆  (7)

Where x and y are the X_(pix), Y_(pix) coordinates in the sensor space. Alternatively, the determined differences may be applied to solve for the constants in another smooth function (e.g., in another three dimensional polynomial function, such as a function describing a conic shape). The smooth function with the solved constants may then be used as an accurate magnification compensation model for the Y coordinate.

Blocks 565, 570 and 575 have been described as three separate operations. However, in some embodiments a single operation may be performed to solve for each of the x-coordinate, the y-coordinate and the z-coordinate. For example, an un-distortion function having the following form may be solved to determine the x, y and z coordinates. F _(X)(x,y,z)=a ₀ +a ₁ x+a ₂ y+a ₃ z+a ₄ x ² +a ₅ y ² +a ₆ z ² + . . . a _(i) xy+ . . . +a _(j) x ^(n) y ^(m) z ^(k) F _(Y)(x,y,z)=b ₀ +b ₁ x+b ₂ y+b ₃ z+b ₄ x ² +b ₅ y ² +b ₆ z ² + . . . b _(i) xy+ . . . +b _(j) x ^(n) y ^(m) z ^(k) F _(Z)(x,y,z)=c ₀ +c ₁ x+c ₂ y+c ₃ z+c ₄ x ² +c ₅ y ² +c ₆ z ² + . . . c _(i) xy+ . . . +c _(j) x ^(n) y ^(m) z ^(k)  (8) where F_(X), F_(Y) and F_(Z) are the functions whose results in world coordinates are to be solved for, x and y are pixel coordinates measured by the confocal imaging apparatus, z is a focal setting (e.g., encoder coordinates corresponding to a focal setting), a_(i), b_(i), and c_(i) are learned parameters, and n, m and k are the maximal degree of the nominal. The function may be selected to minimize a mean square error between the world coordinates and the found positions after the function transformation. Outlier positions may be detected and removed before fitting. In one embodiment, a number of non-zero parameters is constrained.

At block 580, one or more optics correcting models are generated based on the first second and third polynomial functions (or other smooth functions), such as those represented in equations 5-8. Every parameter for equations 5-8 may be a polynomial that depends on the focusing setting (z-axis value) of the confocal imaging apparatus. In one embodiment, each parameter is modeled as a quadratic change to the Z_(optics) (focusing setting). For example, parameter a₁ may be a parameter having a form: a ₁(Z _(Optics))=A+B*Z _(Optics) +C*Z _(Optics) ²  (9) Parameters a₂-a₆, b₁-b₆ and c₁-c₆ may be similarly represented. This may result in a 54 parameter model that corrects for full curvature, magnification and distortion of the field of view (FOV).

Linear minimization methods (e.g., linear least square method) and/or non-linear minimization methods (e.g., Broyden-Fletcher-Goldfarb-Shanno (BFGS) method) may be applied to find the best values for the constants at each of blocks 565, 570 and 575. As mentioned, these processes may be performed for each focusing setting. This is because the amount of field curvature and magnification may change with different focusing settings of the confocal imaging apparatus. Accordingly, a separate model may be generated for each focusing setting. Alternatively, a single model may be generated that accounts for the changes to the model due to changes in the focusing setting. Note that temperature dependence may also be determined and included in the model as described with reference to block 525 of method 500. In one embodiment, a temperature dependence is determined, and a model that corrects for thermal state is created, as discussed above with reference to method 500.

At block 585, the one or more generated models for the confocal imaging apparatus are stored. The models may be stored in a memory of the confocal imaging apparatus and/or in a memory of a computing device that processes data from the confocal imaging apparatus. In one embodiment, the models are stored in a nonvolatile memory (e.g., a read only memory (ROM), FLASH, or other nonvolatile memory) of the confocal imaging apparatus. The model (or models) may be applied to measurements of the confocal imaging apparatus to correct the error in the depth measurements that are introduced by the non-flat focal surface as well as to correct for inaccuracies caused by changes in magnification. If calibration information is stored in memory of the confocal imaging apparatus, then the models may be sent along with measurement data to a computing device when measurements are taken. The computing device may then use the received models to correct for the field curvature and/or magnification changes of the confocal imaging apparatus.

FIG. 6 is a flow chart showing one embodiment of a method 600 for adjusting depth measurements of a scanned three dimensional object based on application of a field curvature model or other model (e.g., a thermal state compensation model) calibrated to a confocal imaging apparatus or other imaging apparatus (e.g., a stereoscopic imaging apparatus). Method 600 may be performed by processing logic that may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions run on a processing device to perform hardware simulation), or a combination thereof. In one embodiment, at least some operations of method 600 are performed by a computing device (e.g., computing device 24 of FIG. 1B executing image processing module 82).

At block 605 of method 600, processing logic receives intensity measurements generated by pixels of a detector of a confocal imaging apparatus. The detector may have a two-dimensional array of pixels, and each pixel may receive a particular light beam of an array of light beams directed at the detector. The array of light beams may be an array of returning light beams that have been reflected off of a surface of the imaged three dimensional object. Thus, each pixel of the detector is associated with a particular point of the three dimensional object and provides intensity measurements for an associated returning light beam from the array of returning light beams.

Each received intensity measurement is associated with a particular focusing setting of the confocal imaging apparatus. Intensity measurements may be received over a range of focusing settings. At block 620, processing logic determines, for each pixel, a focusing setting of the confocal imaging apparatus that provides a maximum measured intensity.

A relative distance between a probe of the confocal imaging apparatus and a focal point of the confocal imaging apparatus may be known for each focusing setting (encoder value). A point of the imaged object is known to be in focus (e.g., at the focal point) when a measured intensity for that point is maximal. Accordingly, at block 630 processing logic determines, for each pixel, a depth of a point of the three dimensional object associated with that pixel that corresponds to the focusing setting that yielded the maximal intensity. If the imaging apparatus includes an internal target in the FOV of the imaging apparatus, then some pixels will be associated with points on the internal target. Accordingly, a depth of the points of the internal target may also be determined.

As discussed previously herein, the non-flat focal surface and/or magnification changes of the confocal imaging apparatus introduce an error in the depth measurements and/or in the X, Y coordinate measurements. Accordingly, at block 640 processing logic adjusts the determined depths of points of the imaged three dimensional object based on applying the determined focusing settings for the pixels associated with those points to a field curvature model. Processing logic may additionally or alternatively determine X, Y coordinates of the points based on applying the determined focusing settings to the field curvature model or other model. One or more field curvature models and/or other models may be used. For example, a particular field curvature model and/or other model may be associated with each focusing setting. An appropriate field curvature model may be identified based on the focusing setting at which a point on the object came into focus. A particular depth adjustment for that point may then be determined by providing the X, Y coordinates of the pixel into the determined field curvature model. Alternatively, a single field curvature model may be used, and the X, Y coordinates and focusing setting may be input into the field curvature model to determine the depth displacement. In one embodiment, a temperature of the focusing optics is also measured and/or a thermal state is otherwise determined (e.g., using an internal target position), and an additional depth adjustment factor (and/or other optical adjustment) is determined based on the temperature (e.g., using a thermal state compensation model). This additional depth adjustment factor (and/or additional optical adjustment) may then be applied to the measured depths (and/or X and Y coordinates) of all points. In one embodiment, a single model is used that compensates for both the thermal state and field curvature.

At block 650, processing logic may determine a shape (e.g., surface topology) of the three dimensional object based on the adjusted depths and/or x and y coordinates. Processing logic may then create an accurate virtual three dimensional model of the imaged object.

FIG. 7 illustrates a diagrammatic representation of a machine in the example form of a computing device 700 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a Local Area Network (LAN), an intranet, an extranet, or the Internet. The machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet computer, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. In one embodiment, computing device 700 corresponds to computing device 24 of FIG. 1B.

The example computing device 700 includes a processing device 702, a main memory 704 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 706 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device 728), which communicate with each other via a bus 708.

Processing device 702 represents one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More particularly, the processing device 702 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 702 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processing device 702 is configured to execute the processing logic (instructions 726) for performing operations and steps discussed herein.

The computing device 700 may further include a network interface device 722 for communicating with a network 764 or other device. The computing device 700 also may include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), and a signal generation device 720 (e.g., a speaker).

The data storage device 728 may include a machine-readable storage medium (or more specifically a non-transitory computer-readable storage medium) 724 on which is stored one or more sets of instructions 726 embodying any one or more of the methodologies or functions described herein. A non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions 726 may also reside, completely or at least partially, within the main memory 704 and/or within the processing device 702 during execution thereof by the computer device 700, the main memory 704 and the processing device 702 also constituting computer-readable storage media.

The computer-readable storage medium 724 may also be used to store a field compensator 750 which may correspond to field compensator 92 of FIG. 1B. The computer readable storage medium 724 may also store a software library containing methods that call the field compensator 750. While the computer-readable storage medium 724 is shown in an example embodiment to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.

It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent upon reading and understanding the above description. Although embodiments of the present invention have been described with reference to specific example embodiments, it will be recognized that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. 

What is claimed is:
 1. A non-transitory computer readable medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations for generating a three-dimensional virtual model of an intraoral object, the operations comprising: receiving surface scan data of the intraoral object, wherein the surface scan data comprises information for a plurality of points of the intraoral object; determining positions of the plurality of points of the intraoral object based on the surface scan data, the determined positions for each point of the plurality of points comprising a determined position along a z-axis, a determined position along an x-axis and a determined position along a y-axis; adjusting the determined positions for one or more of the plurality of points based at least in part on the determined position along the z-axis or a temperature of an imaging apparatus that generated the surface scan data to provide compensation for inaccuracies associated with at least one of the temperature or the position along the z-axis, wherein the compensation comprises different adjustments to at least one of the determined position along the z-axis, the determined position along the x-axis or the determined position along the y-axis for at least one of different determined positions along the z-axis or different temperatures of the imaging apparatus; generating the three-dimensional virtual model of the intraoral object using at least one of the adjusted z-axis positions, the adjusted x-axis positions or the adjusted y-axis positions; and outputting the three-dimensional virtual model to a display.
 2. The non-transitory computer readable medium of claim 1, wherein an optical system of the imaging apparatus comprises at least one of an optical distortion or an optical aberration that distorts at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis for the one or more of the plurality of points, and wherein at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis is adjusted to compensate for at least one of the optical distortion or the optical aberration.
 3. The non-transitory computer readable medium of claim 2, wherein for the one or more of the plurality of points each of the position along the z-axis, the position along the x-axis and the position along the y-axis are adjusted to compensate for at least one of the optical distortion or the optical aberration.
 4. The non-transitory computer readable medium of claim 1, wherein a focal surface of focusing optics of the imaging apparatus changes with changes in temperature, and wherein at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis is adjusted to compensate for the change in the focal surface caused by a current temperature for the one or more of the plurality of points.
 5. The non-transitory computer readable medium of claim 1, wherein: the imaging apparatus comprises a detector having a plurality of pixels, each pixel of the plurality of pixels being associated with a position along the x-axis and a position along the y-axis; each pixel of the plurality of pixels captures the surface scan data for a corresponding point of the plurality of points of the intraoral object; and capturing the surface scan data comprises: determining, for each pixel of the plurality of pixels, a focusing setting of focusing optics of the imaging apparatus for which a point associated with the pixel is in focus; and determining, for each pixel of the plurality of pixels, a position along the z-axis of the point associated with the pixel that corresponds to the determined focusing setting.
 6. The non-transitory computer readable medium of claim 5, wherein adjusting at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis for the one or more of the plurality of points comprises applying the determined focusing setting, the position along the x-axis and the position along the y-axis to one or more compensation models.
 7. The non-transitory computer readable medium of claim 1, further comprising: determining a temperature of the imaging apparatus; and determining a temperature adjustment factor to apply to the position along the z-axis for each of the plurality of points based on the temperature.
 8. An imaging apparatus for performing intraoral scans, comprising: a light source to provide light; an optical system comprising a plurality of lenses disposed along an optical path of the light, wherein the optical system comprises focusing optics to perform focusing of the light onto a focal surface and to direct the light toward a three dimensional object to be imaged in an oral cavity; a translation mechanism to adjust a location of at least one lens of the plurality of lenses to displace the focal surface along an imaging axis defined by the optical path, wherein the at least one lens is a lens of the focusing optics, wherein the focal surface changes with changes in the location of the at least one lens; a detector to generate surface scan data by measuring returning light that is reflected off of the three dimensional object and directed back through the focusing optics, wherein the returning light is to be measured for a plurality of locations of the at least one lens for determination of the surface scan data for a plurality of points of the three dimensional object; and one or more processor to: adjust the surface scan data for one or more of the plurality of points based at least in part on the location of the at least one lens associated with the surface scan data or a temperature of the imaging apparatus to provide compensation for inaccuracies associated with at least one of the temperature or the location of the at least one lens, wherein the compensation comprises different adjustments to at least one of a position along a z-axis, a position along an x-axis or a position along a y-axis for at least one of different locations of the at least one lens or different temperatures of the imaging apparatus; generate a three-dimensional virtual model using the adjusted surface scan data; and output the three-dimensional virtual model to a display.
 9. The imaging apparatus of claim 8, wherein at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis are adjusted using one or more compensation models.
 10. The imaging apparatus of claim 9, wherein the focusing optics comprise at least one of an optical distortion or an optical aberration that distorts at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis for the one or more of the plurality of points, and wherein at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis is adjusted to compensate for at least one of the optical distortion or the optical aberration.
 11. The imaging apparatus of claim 8, wherein a shape of the focal surface changes with changes in the location of the at least one lens.
 12. The imaging apparatus of claim 8, wherein the one or more processor is further to: determine a current temperature of the optical system, wherein the focal surface of the focusing optics changes with changes in temperature; and adjust at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis to compensate for the change in the focal surface caused by the current temperature of the optical system for the one or more of the plurality of points.
 13. The imaging apparatus of claim 8, wherein: the detector comprises a plurality of pixels, wherein each pixel of the plurality of pixels is associated with a position along the x-axis and a position along the y-axis and is to capture the surface scan data for a corresponding point of the plurality of points of the intraoral object; and the one or more processor is further to: determine, for each pixel of the plurality of pixels, a focusing setting of the focusing optics for which a point associated with the pixel is in focus; and determine, for each pixel of the plurality of pixels, a position along the z-axis for the point associated with the pixel that corresponds to the determined focusing setting.
 14. The imaging apparatus of claim 12, wherein to adjust at least one of the position along the z-axis, the position along the x-axis or the position along the y-axis for a point of the plurality of points the one or more processor is to: determine, from a plurality of compensation models, a compensation model associated with the location of the at least one lens; and apply the surface scan data for the point to the determined compensation model.
 15. The imaging apparatus of claim 8, wherein the light source comprises an illumination module configured to generate a pattern of light in an x-y plane defined by the x-axis and the y-axis.
 16. The imaging apparatus of claim 8, wherein the imaging apparatus is a confocal imaging apparatus and the focusing optics are confocal focusing optics.
 17. The imaging apparatus of claim 8, wherein each of the position along the z-axis, the position along the x-axis and the position along the y-axis are adjusted for the one or more of the plurality of points.
 18. The imaging apparatus of claim 8, wherein the one or more processor is to provide compensation both for inaccuracies associated with the temperature and inaccuracies associated with the determined position along the z-axis.
 19. An imaging apparatus for performing intraoral scans, comprising: a light source to provide light; an optical system comprising a plurality of lenses disposed along an optical path of the light, wherein the optical system comprises focusing optics to perform focusing of the light onto a focal surface and to direct the light toward a three dimensional object to be imaged in an oral cavity, the focusing optics comprising at least one lens of the plurality of lenses; a translation mechanism to adjust a location of the at least one lens to displace the focal surface along an imaging axis defined by the optical path; a detector to measure returning light that is reflected off of the three dimensional object and directed back through the focusing optics; and one or more processor to: determine positions of a plurality of points of the three dimensional object based on the measured returning light; and adjust the determined positions of one or more of the plurality of points to compensate for one or more inaccuracies of the optical system, wherein for at least one point of the plurality of points a position along an x-axis is adjusted, a position along a y-axis is adjusted, and a position along a z-axis is adjusted.
 20. The imaging apparatus of claim 19, wherein the one or more processor is to adjust the determined positions of the one or more of the plurality of points using one or more compensation model.
 21. The imaging apparatus of claim 20, wherein the one or more compensation model provides first adjustments to the position along the x-axis, the position along the y-axis and the position along the z-axis for a first point of the one or more points and provides second adjustments to the position along the x-axis, the position along the y-axis and the position along the z-axis for a second point of the one or more of the plurality of points, wherein the second adjustments are different from the first adjustments.
 22. The imaging apparatus of claim 20, wherein the one or more compensation model provides a first adjustment to at least one of the position along the x-axis, the position along the y-axis or the position along the z-axis for a first point of the one or more points for a first position of the at least one lens and provides a second adjustment to at least one of the position along the x-axis, the position along the y-axis or the position along the z-axis for the first point for a second position of the at least one lens, wherein the second adjustment is different from the first adjustment.
 23. The imaging apparatus of claim 19, wherein the light source comprises an illumination module configured to generate a pattern of light in an x-y plane.
 24. The imaging apparatus of claim 19, wherein the imaging apparatus is a confocal imaging apparatus and the focusing optics are confocal focusing optics.
 25. The imaging apparatus of claim 19, wherein the one or more processor is further to: determine a current temperature of the optical system, wherein the focal surface of the optical system changes with changes in temperature; and adjust the determined positions of the one or more of the plurality of points to compensate for the change in the focal surface caused by the current temperature of the optical system for the one or more of the plurality of points.
 26. The imaging apparatus of claim 19, wherein the optical system comprises a field lens that causes the focal surface to be an approximately flat focal surface.
 27. A non-transitory computer readable medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising: receiving surface scan data of an intraoral object, wherein the surface scan data comprises information for a plurality of points of the intraoral object; determining positions of the plurality of points of the intraoral object based on the surface scan data, the determined positions for each point of the plurality of points comprising a determined position along a z-axis, a determined position along an x-axis and a determined position along a y-axis; and adjusting the determined positions for one or more of the plurality of points based at least in part on the determined position along the z-axis to provide compensation for inaccuracies in an optical system of an imaging apparatus that generated the surface scan data, wherein for at least one point of the plurality of points the determined position along the x-axis is adjusted, the determined position along the y-axis is adjusted, and the determined position along the z-axis is adjusted.
 28. The non-transitory computer readable medium of claim 27, the operations further comprising: generating a three-dimensional virtual model of the intraoral object using the adjusted positions; and outputting the three-dimensional virtual model to a display.
 29. The non-transitory computer readable medium of claim 27, further comprising: determining, from a plurality of compensation models, a compensation model associated with the determined position along the z-axis; and adjusting the determined positions for one or more of the plurality of points using the determined compensation model.
 30. The non-transitory computer readable medium of claim 27, wherein the adjusting is performed using a single compensation model that provides different adjustments based on different determined positions along the z-axis. 